01. 绪论:核心概念
一、引言:数据库系统概述
本课程主要学习数据库系统的基本概念、原理和应用,特别是关系型数据库系统。
1.1 什么是数据库(Database)?
一个非常庞大、集成的数据集合。它建模了真实的企业实体(Entities,如学生、课程)及其关系(Relationships,如选课)。
1.2 什么是数据库管理系统(DBMS)?
一个旨在存储和管理数据库的软件包(Software Package)。
1.3 为什么使用DBMS?(考试重点)
使用DBMS相比直接使用文件系统具有显著优势:
- 数据独立性(Data Independence)和高效访问:应用程序与数据结构和存储方式解耦。
- 减少应用开发时间(Reduced Application Development Time)。
- 数据完整性(Data Integrity)和安全性(Security)。
- 统一数据管理(Uniform Data Administration)。
- 并发访问(Concurrent Access),支持多用户同时操作。
- 从崩溃中恢复(Recovery from Crashes)。
1.4 为什么学习数据库?
- 从“计算”转向“信息”:数据量和多样性爆炸式增长。
- DBMS涵盖了计算机科学的诸多领域,如操作系统、语言、理论、人工智能、多媒体、逻辑等。
二、数据、数据模型与数据模式
2.1 数据(Data)
描述现实世界事物的符号,是信息的现有形式。
2.2 数据模型(Data Model)
用于描述数据的一系列概念和定义。
2.3 数据模式(Schema)
使用给定数据模型对特定数据集合的描述。
- 关系模型(Relational Model):目前最广泛使用的数据模型。
- 核心概念:关系(Relation),本质上是一个带有行和列的表。
- 每个关系都有一个模式,描述其列或字段。
2.4 抽象级别(Levels of Abstraction)(考试重点)
数据库系统通过多层抽象来管理数据,实现数据独立性。
- 视图(Views):描述用户如何看待数据。
- 概念模式(Conceptual Schema):定义逻辑结构。
- 物理模式(Physical Schema):描述使用的文件和索引。
- 模式定义使用数据定义语言(DDL),数据修改/查询使用数据操作语言(DML)。
示例:大学数据库
- 概念模式:
- 学生(sid: string, name: string, login: string, age: integer, gpa:real)
- 课程(cid: string, cname: string, credits:integer)
- 选课(sid: string, cid: string, grade:integer)
- 物理模式:
- 关系存储为无序文件。
- 学生表的第一列有索引。
- 外部模式(视图):
- 课程信息(cid: string, enrollment:integer)
2.5 数据独立性(Data Independence)(考试重点)
应用程序与数据结构和存储方式的解耦。这是使用DBMS最重要的好处之一。
- 逻辑数据独立性(Logical Data Independence):保护应用程序不受数据逻辑结构变化的影响。
- 物理数据独立性(Physical Data Independence):保护应用程序不受数据物理存储结构变化的影响。
三、数据库技术发展与分类
3.1 按数据模型发展分类
- 无管理阶段(1960年前):科学计算。
- 文件系统阶段:简单数据管理。
- DBMS出现:
- 1964年:第一个DBMS(美国)IDS,网络模型(Network Model)。
- 1969年:IBM第一个商用DBMS,层次模型(Hierarchical Model)。
- 1970年:E.F.Codd提出关系数据模型(Relational Data Model)。
- 其他数据模型:面向对象模型(Object-Oriented Model)、演绎模型(Deductive Model)、ER模型(ER Model)等。
3.2 按DBMS架构发展分类
- 集中式数据库系统(Centralized Database Systems)。
- 并行数据库系统(Parallel Database Systems)。
- 分布式数据库系统(Distributed Database Systems)和联邦数据库系统(Federated Database Systems)。
- 移动数据库系统(Mobile Database Systems)。
3.3 按基于数据库的应用系统架构发展分类
- 集中式结构:主机+终端。
- 分布式结构。
- 客户端/服务器结构(Client/Server Structure)。
- 三层/多层结构(Three-tier/Multi-tier Structure)。
- 移动计算(Mobile Computing)。
- 网格计算(Grid Computing)/ 云计算(Cloud Computing)。
3.4 按应用领域扩展分类
- 联机事务处理(OLTP)。
- 工程数据库(Engineering Database)。
- 演绎数据库(Deductive Database)。
- 多媒体数据库(Multimedia Database)。
- 时态数据库(Temporal Database)。
- 空间数据库(Spatial Database)。
- 数据仓库(Data Warehouse)、联机分析处理(OLAP)、数据挖掘(Data Mining)。
- 知识管理(Knowledge Management)。
四、数据库系统组成与生命周期
4.1 数据库系统组成
应用程序(Applications)+ DBMS + 数据库(Database)+ 数据库管理员(DBA)。 其中,DBMS是数据库系统的核心。
DBMS核心功能:
- 高级用户接口。
- 查询处理和优化。
- 目录管理。
- 并发控制和恢复。
- 完整性约束检查。
- 访问控制。
4.2 数据库系统生命周期
- 数据库系统规划